Skip to content

chore(essencium-backend): replace git-code-format-maven-plugin with s…#904

Open
jnsfZ wants to merge 4 commits into
mainfrom
903-switch-to-spotless-maven-plugin-instead-of-git-code-format-maven-plugin
Open

chore(essencium-backend): replace git-code-format-maven-plugin with s…#904
jnsfZ wants to merge 4 commits into
mainfrom
903-switch-to-spotless-maven-plugin-instead-of-git-code-format-maven-plugin

Conversation

@jnsfZ

@jnsfZ jnsfZ commented May 8, 2026

Copy link
Copy Markdown
Collaborator

chore(essencium-backend): replace git-code-format-maven-plugin with spotless-maven-plugin for code formatting

@jnsfZ jnsfZ linked an issue May 8, 2026 that may be closed by this pull request
5 tasks
@jnsfZ jnsfZ requested a review from Copilot May 8, 2026 10:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR replaces the repository’s Maven-based formatting tooling (git-code-format-maven-plugin) with Spotless (spotless-maven-plugin), updates CI/docs/migration notes accordingly, and reformats code to comply with the new rules (notably: no wildcard imports + enforced license headers).

Changes:

  • Replaced git-code-format-maven-plugin with spotless-maven-plugin across modules and bound spotless:check to verify.
  • Added a root license-header.txt template and updated CI to run Spotless checks instead of a custom Java-header script.
  • Updated migration notes and documentation style guides; applied formatting changes (expanded wildcard imports, updated headers) across tests.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
MIGRATION.md Documents the formatter migration, new commands, and hook cleanup guidance.
license-header.txt Introduces the canonical LGPL header template intended for Spotless enforcement.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/util/TestingUtils.java Replaces wildcard java.util.* import with explicit imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/security/oauth2/OAuth2SuccessHandlerTest.java Replaces wildcard static imports with explicit static imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/UserControllerIntegrationTest.java Replaces wildcard imports (Hamcrest, java.util, JUnit) with explicit imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/RoleControllerIntegrationTest.java Replaces wildcard imports with explicit imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AuthenticationControllerIntegrationTest.java Replaces wildcard static MockMvc matchers with explicit imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AccessEntityFilteringIntegrationTest.java Replaces wildcard project imports with explicit imports.
essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/app/NativeDTO.java Replaces wildcard Lombok import with explicit Lombok imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/XliffParserTest.java Updates license header (currently producing an incorrect year range) and keeps formatting aligned.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/TestEmail.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/StringUtilsTest.java Updates license header and replaces wildcard JUnit static imports with explicit ones.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/ResourceBundleParserTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/EssenciumUserUtilTest.java Updates license header and expands wildcard static imports and java.util.*.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/util/EssenciumSchedulerTest.java Updates license header and expands wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java Updates license header and expands wildcard imports (including project test fixtures/config).
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserMailServiceTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/TranslationServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/translation/ResourceBundleTranslationFileCreatorTest.java Updates license header and expands wildcard ArgumentMatchers imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/SimpleMailServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/SessionTokenInvalidationUuidServiceTest.java Expands wildcard static imports for JUnit/Mockito/ArgumentMatchers.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/SessionTokenInvalidationLongServiceTest.java Expands wildcard static imports for JUnit/Mockito/ArgumentMatchers.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/RoleServiceTest.java Updates license header and expands wildcard static Mockito/JUnit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/RightServiceTest.java Updates license header and expands wildcard static Mockito/JUnit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/JwtTokenServiceTest.java Replaces wildcard static imports and replaces java.time.* with explicit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/initialization/DataInitializationServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/FeedbackServiceTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/DefaultEntityServiceImplementationTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ContactMailServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ApiTokenServiceTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/AdminRightRoleCacheTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/AbstractEntityServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/AbstractCrudServiceTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/security/SessionTokenKeyLocatorTest.java Updates license header and expands wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/security/oauth2/util/CookieUtilTest.java Updates license header and replaces wildcard JUnit static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/security/BasicRightTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/SessionTokenTest.java Updates license header and replaces wildcard JUnit static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/representation/BasicRepresentationTest.java Updates license header and replaces wildcard JUnit static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/representation/assembler/ApiTokenAssemblerTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/dto/TranslationDtoTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/dto/RoleDtoTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/dto/EssenciumUserDetailsTest.java Updates license header and replaces java.util.* with explicit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/assembler/UUIDUserAssembler.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/assembler/LongUserAssembler.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/ApiTokenTest.java Updates license header and replaces wildcard JUnit static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/model/AbstractBaseUserTest.java Updates license header and expands wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserControllerTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserController.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDResetCredentialsControllerTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/TranslationControllerTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/RoleControllerTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserControllerTest.java Updates license header and expands wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserController.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongResetCredentialsControllerTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/ContactUUIDControllerTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/ContactLongControllerTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/AuthenticationControllerTest.java Updates license header and expands wildcard static imports and JWT constants imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/TokenInvalidationAspectTest.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/MethodSecurityConfigTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/TestRoleInitializer.java Updates license header and replaces java.util.* with explicit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUUIDUserInitializerTest.java Updates license header and expands wildcard static imports and java.util.*.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultTranslationInitializerTest.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultRoleInitializerTest.java Updates license header and expands wildcard static imports and java.util.*.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultRightInitializerTest.java Updates license header and replaces java.util.* with explicit imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultLongUserInitializerTest.java Updates license header and expands wildcard static imports and model imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/CorsConfigTest.java Updates license header and expands wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/UserRepositoryMockConfiguration.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/RoleServiceMockConfiguration.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/PasswordEncoderMockConfiguration.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/MockedMetricStore.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/MockConfiguration.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/MockConfig.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/MailServiceMockConfiguration.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/JwtTokenServiceMockConfiguration.java Updates license header and replaces wildcard Mockito imports with explicit ones.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/mocking/BaseRepositoryMockConfiguration.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserStub.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserDtoBuilder.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestUUIDUser.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestObjectsUser.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/TestObjects.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStubUUID.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStub.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/TestObjectService.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/role/TestObjectsRole.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/pageable/TestObjectsPageable.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/TestObjectInjectionExtension.java Updates license header and expands wildcard project imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/MetricCleanUpExtension.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/authentication/TestObjectsAuthentication.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/UserRepositoryAssert.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/UserAssert.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/RoleServiceAssert.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/RepositoryAssert.java Updates license header and expands Mockito wildcard static imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/PasswordEncoderAssert.java Updates license header and expands wildcard ArgumentMatchers imports.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/MailAssert.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/assertions/EssenciumAssertions.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/TestUserStubType.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/TestUserStub.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/TestRole.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/TestPrincipleType.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/TestPrincipal.java Updates license header year formatting.
essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/annotations/EssenciumUnitTest.java Updates license header year formatting.
essencium-backend/pom.xml Replaces git-code-format plugin with Spotless and configures Java formatting + license headers.
essencium-backend-development/src/test/java/de/frachtwerk/essencium/backend/SpringBootAppTest.java Normalizes header spacing per formatting rules.
essencium-backend-development/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java Normalizes header spacing per formatting rules.
essencium-backend-development/pom.xml Adds Spotless plugin configuration and binds spotless:check to verify.
essencium-backend-development-uuid/pom.xml Adds Spotless plugin configuration and binds spotless:check to verify.
docs/README.md Corrects local docs URL to include the required /essencium-backend basePath.
docs/pages/styleguide/styling-conventions.mdx Updates formatting conventions to reflect Spotless + Google Java Format + import rules + license headers.
docs/pages/styleguide/overview.mdx Expands Lombok conventions documentation.
docs/pages/styleguide/openapi.mdx Adds a new OpenAPI annotation conventions page.
docs/pages/styleguide/_meta.js Adds the OpenAPI page to the styleguide navigation.
docs/pages/styleguide.mdx Adds a card linking to the OpenAPI conventions page.
CHANGELOG.md Records the formatter migration and the new enforcement commands/CI behavior.
.github/workflows/licence-check.yml Replaces custom Java header checking with Spotless checks for each module.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread license-header.txt
@sonarqubecloud

sonarqubecloud Bot commented May 8, 2026

Copy link
Copy Markdown

@jnsfZ jnsfZ self-assigned this May 8, 2026
@jnsfZ jnsfZ added the feature New feature that should be implemented label May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature that should be implemented Spring Boot 4

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switch to spotless-maven-plugin instead of git-code-format-maven-plugin

3 participants